import { defHttp } from '/@/utils/http/axios'
import { Result } from '/#/axios'

/**
 * 单独支付
 */
export function simplePayCashier(obj) {
  return defHttp.post<Result<PayOrderResult>>({
    url: '/demo/cashier/simplePayCashier',
    method: 'POST',
    data: obj,
  })
}

/**
 * 根据业务ID获取支付状态
 */
export function findStatusByBizOrderNoeNo(bizOrderNoeNo) {
  return defHttp.get<Result<boolean>>({
    url: '/demo/cashier/queryPayOrderSuccess',
    params: { bizOrderNoeNo },
  })
}

/**
 * 获取手机收银台链接
 */
export function getUniCashierUrl() {
  return defHttp.get<Result<string>>({
    url: '/demo/cashier/getUniCashierUrl',
  })
}

/**
 * 创建聚合支付码连接
 */
export function createAggregatePayUrl(obj) {
  return defHttp.post<Result<PayOrderResult>>({
    url: '/demo/aggregate/createUrl',
    data: obj,
  })
}

/**
 * 聚合条码支付
 */
export function aggregateBarCodePay(obj) {
  return defHttp.post<Result<PayOrderResult>>({
    url: '/demo/aggregate/barCodePay',
    method: 'POST',
    data: obj,
  })
}


/**
 * 查询专业计划的接口
 */
export function querySpPlan(params) {
  return defHttp.get<Result<any>>({
    url: '/demo/cashier/querySpPlan',
    params
  })
}

/**
 * 查询身份证有没资格报名的接口
 */
export function checkIdCard(params) {
  return defHttp.get<Result<string>>({
    url: '/demo/cashier/checkIdCard',
    params
  })
}

/**
 * 查询准考证
 */
export function checkTicketNumber(params) {
  return defHttp.get<Result<any>>({
    url: '/demo/cashier/checkTicketNumber',
    params
  })
}

/**
 * 查询支付结果
 */
export function queryBmInfoByOrderNo(params) {
  return defHttp.get<Result<object>>({
    url: '/demo/cashier/queryBmInfoByOrderNo',
    params
  })
}

/**
 * 根据身份证查询已经报名的信息
 */
export function queryBmInfo(params) {
  return defHttp.get<Result<object>>({
    url: '/demo/cashier/queryBmInfo',
    params
  })
}

/**
 * 查询报名开启状态
 */
export function queryIsAutumn() {
  return defHttp.get<Result<any>>({
    url: '/demo/cashier/queryIsAutumn',
  })
}

/**
 * 支付方式
 */
export function payChannelEnable() {
  return defHttp.get<Result<any>>({
    url: '/pay/channel/config/findEnable',
  })
}

/**
 * 发起支付后响应对象
 */
export interface PayOrderResult {
  // 商户订单号
  bizOrderNo: string
  // 订单号
  orderNo: string
  // 支付状态
  status: string
  // 支付参数体(通常用于发起异步支付的参数)
  payBody: string
}
